Loop invariants are expressions whose values do not change during the execution of a loop. Placing the calculation of an invariant inside a loop is
confusing, and inefficient because the resulting value will always be the same, yet it must be re-calculated each time through the loop. Therefore
invariants should be calculated and stored before loop execution begins.
Noncompliant code example
For y = 0 to Height-1
For x = 0 to Width-1
i = y*Width + x ' y*Width is invariant
'...
Next x
Next y
Compliant solution
For y = 0 to Height-1
Dim temp as Integer = y*Width
For x = 0 to Width-1
i = temp + x
'...
Next x
Next y